Service oriented architecture is an approach used to provide a software architecture that is based upon the use of services. A service may be a discrete unit of functionality that can be accessed through a communication protocol over a network and acted upon and updated independently. For example, a service, such as RESTful Web service, may be used to perform a function, such as producing data, validating a customer, or providing simple analytical services. Service oriented architecture allows software developers to combine the functionality of services to form applications, which can be built from services combined in an ad hoc manner.
Software developers commonly perform many iterations of software changes prior to deploying the changes to a production environment, such as a service provider environment that hosts services providing a service oriented architecture. For example, a developer may iteratively change the source code of an application, build the application, deploy the application to a service oriented architecture environment, and perform tests on the application in the service oriented architecture environment. This process can be time consuming and inefficient, particularly when developing applications that execute in service oriented architecture environments and/or in a service provider environment.